define(['jquery', 'bootstrap', 'backend', 'table', 'form','echarts','echarts-theme', 'template'], function ($, undefined, Backend, Table, Form,Echarts,undefined,Template) {

    var Controller = {
        //查看图片型数据
        image:function(){
            Table.api.init({
                extend: {
                    table: 'sstalink_data'
                }
            });
            var table = $("#table");
            // 初始化表格
            table.bootstrapTable({
                url: window.location,
                pk: 'id',
                sortName: 'id',
                columns: [
                    [
                        {field: 'data', title: __('Data'),formatter:function (value,row,index) {
                            return "<img src=\""+value+"\" width='200' height='200'>";
                        }},
                        {field: 'updatetime', title: __('Updatetime')}
                    ]
                ]
            });
            Table.api.bindevent(table);
        },
        //查看GPS型数据
        gps:function () {
            Table.api.init({
                extend: {
                    table: 'sstalink_data'
                }
            });
            var table = $("#table");
            // 初始化表格
            table.bootstrapTable({
                url: window.location,
                pk: 'id',
                sortName: 'id',
                columns: [
                    [
                        {field: 'data', title: __('Data')},
                        {field: 'updatetime', title: __('Updatetime')}
                    ]
                ]
            });
            Table.api.bindevent(table);

            table.on('post-body.bs.table',function (e, data){
                var map = new BMap.Map("container");          // 创建地图实例
                var arrs=[];
                for(var p in data){
                    var point=new BMap.Point(data[p].data.split(",")[0],data[p].data.split(",")[1]);
                    arrs.push(point);
                    var marker = new BMap.Marker(point);
                    var label = new BMap.Label(data[p].updatetime, { offset: new BMap.Size(20, -10) });
                    label.setStyle({
                        fontSize : "16px",
                        border :"0",
                        fontWeight :"bold"
                    });
                    marker.setLabel(label);
                    map.addOverlay(marker);
                }
                var line = new BMap.Polyline(arrs, { strokeColor: "black", strokeWeight: 4, strokeOpacity: 0.7 }); //创建弧线对象
                map.addOverlay(line);
                map.centerAndZoom(point, 15);                 // 初始化地图，设置中心点坐标和地图级别
                map.enableScrollWheelZoom(true);
            });
        },

        //查看文本型数据
        text:function(){
            Table.api.init({
                extend: {
                    table: 'sstalink_data'
                }
            });
            var table = $("#table");
            // 初始化表格
            table.bootstrapTable({
                url: window.location,
                pk: 'id',
                sortName: 'id',
                columns: [
                    [
                        {field: 'data', title: __('Data')},
                        {field: 'updatetime', title: __('Updatetime')}
                    ]
                ]
            });
            Table.api.bindevent(table);
        },
        //查看数值型数据
        number: function () {
            Table.api.init({
                extend: {
                    table: 'sstalink_data'
                }
            });
            var table = $("#table");
            // 初始化表格
            table.bootstrapTable({
                url: window.location,
                pk: 'id',
                sortName: 'id',
                columns: [
                    [
                        {field: 'data', title: __('Data')},
                        {field: 'updatetime', title: __('Updatetime')}
                    ]
                ]
            });
            Table.api.bindevent(table);
            table.on('post-body.bs.table', function (e, data) {
                var jsonData={column:[],data:[]};
                for(var x in data){
                    jsonData.column.push( data[x].updatetime);
                    jsonData.data.push(data[x].data);
                }
                var myChart = Echarts.init(document.getElementById('echart'), 'walden');

                // 指定图表的配置项和数据
                var option = {
                    title : {
                        text : '数值图'
                    },
                    tooltip: {
                        trigger: 'axis'
                    },
                    toolbox: {
                        show : true,
                        feature : {
                            mark : {show: true},
                            dataView : {show: true, readOnly: false},
                            restore : {show: true},
                            saveAsImage : {show: true}
                        }
                    },
                    dataZoom: {
                        show: true,
                        start : 70,
                        bottom:0
                    },
                    legend : {
                        data : [showType.unit+"/"+showType.symbol]
                    },
                    grid: [{
                        left: 'left',
                        top: 'top',
                        right: '10',
                        bottom: 60
                    }],
                    xAxis : {
                            type : 'category',
                            boundaryGap: false,
                            data: jsonData.column
                    },
                    yAxis : {

                    },
                    series : [
                        {
                            name: showType.unit+"/"+showType.symbol,
                            type: 'line',
                            showAllSymbol: true,
                            areaStyle: {
                                normal: {
                                }
                            },
                            lineStyle: {
                                normal: {
                                    width: 1.5
                                }
                            },
                            data: jsonData.data
                        }
                    ]
                };
                // 使用刚指定的配置项和数据显示图表。
                myChart.setOption(option);
            });
        },
        api: {
            bindevent: function () {
                Form.api.bindevent($("form[role=form]"));
            }

        }
    };
    return Controller;
});